package main

import (
	"fmt"
	"gitee.com/veno/go_study/mimi/miniconf"
	"gitee.com/veno/go_study/configs"
	"github.com/gin-gonic/gin"
)

func main() {
	// 创建一个默认的路由引擎
	var route = gin.Default()
	//配置路由
	route.GET("/", func(ctx *gin.Context) {
		//向浏览器返回JSON格式的数据，gin自带JSON序列化器，不用像就Java等要导入
		ctx.JSON(200, gin.H{
			"message": "入生苦短，我用golang!",
			"abody":   "麻雀虽小也是生命，喵咪喜欢小空姐",
			"bbody":   "鳄鱼虽大也是条鱼，喵咪喜欢小鱼干",
		})
	})

	//port, _ := LoadPortconfig()
	miniconf.ShowMe()
	port, _ :=miniconf.LoadPortconfig();
	fmt.Printf("in  embed module get conf on port: %d\n", port)
	port2, _ :=configs.LoadPortconfig();
	//port, _ := 9123, nil //configs.LoadPortconfig()
	//port := 9123
	fmt.Printf("Starting server on port: %d\n", port2)
	//启动HTTP服务，默认8080端口
	route.Run(fmt.Sprintf(":%d", port2))
	//若要改变端口，使用 route.Run(":8081"),不要漏了前面：
}

//
//// Config 结构体用于映射配置文件的字段
//type Config struct {
//	Port int `json:"port"`
//}
//
//func loadPortconfig() (int, error) {
//	//// 从配置文件中读取配置
//	//var config Config
//	//// 读取配置文件
//	//data, err := ioutil.ReadFile("./config.json")
//	//if err != nil {
//	//	return 0, err
//	//}
//	//// 将配置文件内容反序列化到结构体中
//	//err = json.Unmarshal(data, &config)
//	//if err != nil {
//	//	return 0, err
//	//}
//	//return config.Port, nil
//
//	configFile, err := ioutil.ReadFile("config.json")
//	if err != nil {
//		log.Fatalf("Error reading config file: %v", err)
//	}
//
//	// 解析JSON配置文件
//	var config Config
//	err = json.Unmarshal(configFile, &config)
//	if err != nil {
//		log.Fatalf("Error parsing config file: %v", err)
//	}
//
//	// 获取port字段的值
//	port := config.Port
//	fmt.Printf("Starting server on port: %d\n", port)
//
//	return port, nil
//}
